home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / compuserve-file-archive / 09 Application Software / MASDIR.DOC < prev    next >
Text File  |  2019-04-13  |  10KB  |  198 lines

  1. master directory/disk manager
  2. Scott Maxwell
  3. Commodore 64
  4. 6246 Ohm Ct., San Diego, CA  92122
  5.  
  6. Master Directory DM
  7.  
  8. This program is to my knowledge, the quickest, most efficient program available
  9. for organizing software. I actually wrote this program so a friend of mine
  10. could organize his vast collection of software. Then I could find out what he
  11. had that I wanted. Since it was being written for him to use, I had to make it
  12. fast as well as powerful. This program is a BASIC/machine language hybrid.
  13. Everything that was too slow in BASIC has been converted to machine language.
  14.  
  15. Basically, MASTER DIRECTORY takes directories from disks and stores them in
  16. memory where they may be edited, sorted, printed, and saved. It allows sorting
  17. by filename and by disk number. MASTER DIRECTORY allows editing of disk name,
  18. disk ID, and filename. It also allows for deletion of files or entire disks
  19. from the master list as well as updating of disks. It can handle about 2000-
  20. 3000 filenames and 256 disks in each menu file, but multiple menu files are
  21. allowable. The functions become practically self-explanatory as you use them.
  22.  
  23. There are ten basic functions. These are:
  24.  
  25. 1) Read Master File - Will read previously saved file
  26. 2) Save Master File - Will save file from memory
  27. 3) Enter New Disk   - Read new directory into memory
  28. 4) Print File       - Prints all or part of file to disk or printer
  29. 5) Sort File        - Sorts by filename of disk number
  30. 6) Delete File Name - Deletes file name or range of names
  31. 7) Change File Name - Allows changing of file names
  32. 8) Delete Disk      - Allows deletion of files-list of a certain disk
  33. 9) Change Disk Name - Allow changing of disk name and ID
  34. 0) Quit             - Exits DISK MANAGER
  35.  
  36. Typing a 'q' returns from any function.
  37.  
  38.     1) READ MASTER FILE-
  39.  
  40. This will read any previously saved menu file from the disk with a quick
  41. machine language routine. Many people only have one directory file, therefore,
  42. if you just hit <return>, it will default to 'MENU'. If you have a dual disk
  43. drive and wish to specify the drive, you must put quotes around the string,
  44. i.e. "1:GAMES". Otherwise, you will get an extra ignored error.
  45.  
  46.     2) SAVE MASTER FILE-
  47.  
  48. This function will save your current file from memory onto disk. Hitting
  49. <return> will automatically erase the old 'MENU' file and write the current
  50. file in memory as the new 'MENU' file. If you wish to replace an old file with
  51. the current file in memory you can type "@:name" but you must put quotes around
  52. it to avoid an extra ignored error. This will actually scratch the old file
  53. first, and then save the new file (so if you are worried about using the @
  54. sign, in this program anyway, it is completely safe).
  55.  
  56.     3) ENTER NEW DISK -
  57.  
  58. This function is the one that actually reads a directory into memory. Machine
  59. language routines are used for reading the directory, printing the directory,
  60. and compressing the data. When you hit '3', the program immediately reads the
  61. current disk. NOTE: The desired disk must be in the drive before '3' is hit.
  62.  
  63. The entire directory is listed on the screen and you are then told where the
  64. directory will be put in the master list and is asked if you want to add this
  65. directory to the master list. A <return> will default to yes. If you don't want
  66. to add this, simply type the letter 'n' followed by <return>.
  67.  
  68. You are then asked if you would like to change the name of the disk. This is
  69. very helpful if the name on the label is not the same as the name in the
  70. directory. A <return> defaults to the current name, but if a new name is
  71. entered, a new ID is then allowed as well.
  72.  
  73. Some directory programs won't allow for to disks to be entered that have the
  74. same ID number. This program does not care about ID numbers. They are merely
  75. there for the user to see. As a matter of fact, the way that the data is
  76. referenced in MASTER DIRECTORY is very simple. The first file is file zero, the
  77. next is file one, etc. When a sort is done, the new first program becomes
  78. number zero, etc. When files are deleted from the list, the list is
  79. automatically renumbered. The disks are referenced the same way. The first disk
  80. is number zero, the next is number one, etc. The one big difference is that the
  81. disk numbers never change. Once a disk has been entered, it keeps the same
  82. number until it is deleted. Therefore, you can put the disk number on your disk
  83. and keep them in numerical order. Then, when you look on your master list to
  84. find a program, you can find the correct disk very quickly. If a disk is
  85. deleted, the space remains open until another disk is entered.
  86.  
  87.     Example:
  88.  
  89. Four disks are entered. Three filenames are deleted from disk two and the list
  90. automatically renumbers itself. The list is then sorted by filename. Each
  91. filename now has a new number. Then, you realize that disk three is not
  92. current, and you therefore delete that disk. The program automatically
  93. renumbers the file numbers, but not the disk numbers. In your file you have
  94. disks one, two, and four. You then enter the current disk three and it is
  95. automatically put in the first open disk number, three. You now have disks one,
  96. two, three, and four again.
  97.  
  98.     4) PRINT FILE-
  99.  
  100. This function prints all or part of your master file to your screen or printer.
  101. When you hit '4' the program first asks if you want to go to the screen or
  102. printer. If you hit <return> it will default to the screen. It then asks you
  103. what the first and last file numbers you want to see are. These default to the
  104. beginning and ending of your file if you hit only <return>.
  105.  
  106. The output will be in the following format:
  107.  
  108.     file# blocks "filename" type disk number
  109.  
  110. There is also a second type of output. If you hit shifted '4' (or shifted '6'
  111. or '7' for that matter) it will print in the following format.
  112.  
  113.     file# blocks "filename" type disk number:disk name
  114.  
  115. If you print to the printer, the program will simply list until it is finished
  116. and then return to the main menu. If, however, you print to the screen, there
  117. is a bit more involved.
  118.  
  119. First of all, the listing will stop after printing a full screen. It wait until
  120. a key is pressed and then continue until it has finished another screen. When
  121. it has printed the whole listing, it will automatically start over at the
  122. specified starting line and keep listing. It will not stop listing until a 'q'
  123. is pressed at the bottom of a page. A 'q' returns from any function.
  124.  
  125. A fast forward and reverse are also built in. Every time you hit the <f1> key,
  126. the listing moves back twenty filenames and everytime you hit <f7>, it moves
  127. forward twenty filenames.
  128.  
  129.     5) SORT FILE:
  130.  
  131. When you hit '5' you are asked if you want to sort by disk or by whole. If you
  132. sort by disk, it will sort the filenames in each disk independently. Sorting by
  133. the whole file puts the whole list in alphabetically order by filename. Hitting
  134. <return> defaults to whole.
  135.  
  136. A machine language shell/metzner sort is used and the sort usually takes under
  137. three seconds.
  138.  
  139.     6) DELETE FILE NAME-
  140.  
  141. This function works very much like the PRINT FILE function. It asks you the
  142. first and last file numbers to look at. NOTE: This is for listing purposes
  143. only. It does not delete these. Also, shifted '6' will give the secondary
  144. printing format.
  145.  
  146. It then prints the file to the screen just like the PRINT function, except it
  147. stop at the bottom of each page with a blinking cursor and asks you which files
  148. you want to delete. If you hit <return> it will show you the next page. A 'q'
  149. quits the function and renumbers the file.
  150.  
  151. If you wish to delete a file, simply type its file number and hit return. You
  152. can delete a whole range of files by type the first file number followed by a
  153. hyphen ('-') and the last number. For instance 12-17 will delete files 12 thru
  154. 17. Note also that the fast forward (f7) and reverse (f1) function keys work.
  155.  
  156.     7) CHANGE FILE NAME-
  157.  
  158. This works exactly like the delete file name function except that you can not
  159. specify a range of file numbers to change ( 12-17 ) and when you type the
  160. number of the file whose name you wish to change, it then asks for the new
  161. name. Otherwise, it is identical.
  162.  
  163. This function was created to take care of programs like INFOCOM games which are
  164. all called 'GAME'.
  165.  
  166.     8) DELETE DISK-
  167.  
  168. This function simply lists the disk names one page at a time, waiting for a
  169. return which lists the next page, a 'q' which quits the function, or a disk
  170. number which deletes the disk name from the list as well as all filenames
  171. contained on that disk.
  172.  
  173.     9) CHANGE DISK NAME-
  174.  
  175. This function is identical to the delete disk function, except it allows you to
  176. change the disk name and ID.
  177.  
  178.     0) QUIT
  179.  
  180. Obviously this function exits from MASTER DIRECTORY. Note: It does not save the
  181. file. That must be done with the SAVE MASTER FILE function.
  182.  
  183.  
  184. In writing this, I have tried to make it as short as possible to allow for as
  185. many files as possible, while at the same time making it as powerful as
  186. possible. Some people have asked about a search feature. This can be done now
  187. by sorting and listing with the fast forward and reverse keys. Other functions
  188. such as a search have not been overlooked; simply decided against because of
  189. memory constraints.
  190.  
  191. Finally, in working with this, I have had some problems with terrible garbage
  192. collections (or perhaps something worse). Since this program uses two large
  193. arrays, under certain conditions, the two arrays eat each other. This is a bug
  194. in your Commodore BASIC. I think I have pinned this down so that it only
  195. happens occasionally when you use the CHANGE DISK NAME function. I recommend,
  196. therefore that you change the disk name only when you first enter the disk. If
  197. you need to change a disk name again, save your file first.
  198.